/*
 * @Author: quit
 * @Date: 2021-11-09 16:01:11
 * @LastEditTime: 2022-02-21 16:50:29
 * @Descripttion:表单验证方法
 */

/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
    return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername(str) {
    // const valid_map = ['admin', 'editor']
    // return valid_map.indexOf(str.trim()) >= 0
    return true
}

/**
 * @description: 用户名验证规则函数
 * @param {*}
 * @return {*}
 */
export function validateUsername(rule, value, callback) {
    if (!validUsername(value)) {
        // callback(new Error('Please enter the correct user name'))
        callback(new Error('当前用户名不正确请输入合法的用户名'))
    } else {
        callback()
    }
}

/**
 * @description: 密码验证规则函数
 * @param {*}
 * @return {*}
 */
export function validatePassword(rule, value, callback) {
    if (value.length < 3) {
        // callback(new Error('The password can not be less than 6 digits'))
        callback(new Error('密码长度不能小于6位'))
    } else if (value.length > 16) {
        callback(new Error('密码长度不能超过16位'))
    } else {
        callback()
    }
}

/**
 * @description: 手机号校验
 * @param {string} value
 * @return {boolean}
 */
export function validMobile(value) {
    return /^1[3-9]\d{9}/.test(value)
}

/**
 * @description: 正整数验证
 * @param {*}
 * @return {*}
 */
export function validateIsInt(rule, value, callback) {
    if (!Number.isInteger(value)) {
        callback(new Error('请输入整数'))
    } else {
        callback()
    }
}
